package com.gather.arraylists;

import com.gather.orm.Dog;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;

// 练习题
public class Example03 {
    public static void main(String[] args) {
        System.out.println("练习题目");
        // 使用List 接收，因为 ArrayList 实现List接口，所以可以使用List接收（父类型）
        List<Dog> list = new ArrayList<>();
        list.add(new Dog("英短猫",10));
        list.add(new Dog("波斯猫",10));
        list.add(new Dog("家猫",10));
        for (Dog dog : list) {
            System.out.println(dog.toString());
        }
        System.out.println("-------------");
        // 使用 ArrayList 接收
        ArrayList<Dog> dogs = new ArrayList<>();
        dogs.add(new Dog("哈巴狗",10));
        dogs.add(new Dog("金毛",8));
        dogs.add(new Dog("二哈",6));

        // 使用两种方式循环
        // for
        for (Dog dog : dogs) {
            System.out.println(dog.toString());
        }
        System.out.println("----------------");
        // 使用迭代器
        Iterator<Dog> iterator = dogs.iterator();
        while (iterator.hasNext()) {
            Dog next = iterator.next();
            System.out.println(next.toString());
        }

        // 练习一下 List 接收
        List<String> list1 = new ArrayList<>();
        list1.add("a");
        list1.add("b");
        list1.add("c");
        list1.add("d");
        list1.add("e");
        // 指定位置添加
        list1.add(2,"kerry");
        System.out.println(list1); // [a, b, kerry, c, d, e]

        System.out.println("----练习题目-------");

        List<String> strings = new ArrayList<>();
        for (int i = 0; i < 10; i++) {
            strings.add("a "+i);
        }
        System.out.println("练习题目："+strings);
        System.out.println("获取第五个元素："+strings.get(4));
        // 删除第六个元素
        strings.remove(5);
        // 修改第七个元素
        strings.set(7,"kerry");
        System.out.println("最终结果："+strings);

        List<String> vectorList = new Vector<>();
        vectorList.add("测试");
        vectorList.add("a");
        vectorList.add("c");
        vectorList.add(null);
        System.out.println("打印一下："+vectorList);
    }
}
